home *** CD-ROM | disk | FTP | other *** search
/ Otherware / Otherware_1_SB_Development.iso / mac / misc / update / tpasc401.sea / About THINK Pascal 4.0.1 < prev    next >
Encoding:
Text File  |  1992-01-09  |  9.9 KB  |  259 lines

  1. About THINK Pascal 4.0.1
  2. =======================
  3. Copyright ⌐ 1992 Symantec Corporation. All rights reserved.
  4. January 9, 1992
  5. Font: Geneva 12
  6.  
  7. INTRODUCTION
  8. =============
  9. THINK Pascal 4.0.1 corrects some problems with debugging programs on a 
  10. Macintosh Quadra and corrects some other problems in THINK Pascal 4.0. It 
  11. also contains a new version of SANE.p that corrects some of its interfaces 
  12. and contains new versions of Runtime.Lib, TCLRuntime.Lib, and 
  13. MARuntime.Lib that you can use in a project you╒re profiling.   
  14.  
  15. This document has three more sections:
  16.  
  17.     Ñ  UPDATING THINK PASCAL tells you how to run 
  18.         ╥THINK Pascal -> 4.0.1╙ and ╥Misc Updates.sea╙ to update  
  19.         your copy of THINK Pascal.
  20.     
  21.     Ñ  WHAT THIS UPDATE FIXES lists the most important bugs that 
  22.         this update fixes.
  23.  
  24.     Ñ  LAST MINUTE CHANGES lists some last minute changes and 
  25.         corrections to the THINK Pascal User Manual. This section 
  26.         contains much of the information in the READ ME file on your 
  27.         THINK Pascal 4.0 disk, in addition to some more recent 
  28.         information. 
  29.  
  30. UPDATING THINK PASCAL
  31. =======================
  32. This update transforms your existing THINK Pascal 4.0 application to THINK 
  33. Pascal 4.0.1. You will run the patch program ╥THINK Pascal => 4.0.1╙ and 
  34. then replace some runtime libraries.
  35.  
  36.     1. Make sure that you have your original THINK Pascal
  37.         application. You won't need it for this update, but you 
  38.         should make sure that you have a backup in case the 
  39.         update fails. Do not patch your original master disk.
  40.  
  41.     ÑÑÑÑ
  42.     NOTE
  43.     ÑÑÑÑ
  44.         Do not patch your original master disk. If you have 
  45.         problems installing or using this patch, you╒ll need it.
  46.  
  47.     2. Double-click on the patch program "THINK Pascal -> 4.0.1" 
  48.         to launch it. Click on the Update THINK Pascal button to 
  49.         continue.
  50.  
  51.     3. Find your existing copy of THINK Pascal in your THINK 
  52.         Pascal Folder. Select it and click on the Patch button.
  53.  
  54.     4. If the patch was successful, you'll get a confirmation.
  55.     
  56.     5. Double-click on the program ╥Misc Updates.sea.╙ to launch it.
  57.     
  58.     6. A standard file dialog appears. Move to your Development folder  
  59.         and click Extract.
  60.         
  61.     7. The archive decompresses its files and places them on your hard  
  62.         disk. It displays its progress in a dialog. The archive quits 
  63.         when it╒s done.
  64.         
  65.     8. The next time you open a project, THINK Pascal asks if you want 
  66.         to convert the project, overwriting the existing version. Click
  67.         Yes.
  68.  
  69.  
  70. WHAT THIS UPDATE FIXES
  71. =======================
  72. THINK Pascal 4.0.1 is a minor upgrade to THINK Pascal 4.0 that lets you 
  73. use THINK Pascal on a Macintosh Quadra and fixes some bugs. 
  74. MiscUpdates.sea replaces these files:
  75.  
  76.     Ñ  Project Utilties in your THINK Pascal 4.0.1 Folder
  77.     Ñ  Runtime.Lib in your THINK Pascal 4.0.1 Folder
  78.     Ñ  TCLRuntime.Lib in your Libraries folder
  79.     Ñ  MARuntime.Lib in your Libraries folder
  80.     Ñ  ╡Runtime.Lib in your Libraries folder
  81.     Ñ  SANE.p in your Interfaces folder 
  82.  
  83. The rest of this section describes the most significant bugs that 
  84. THINK C 4.0.1 fixes:
  85.  
  86. Ñ The new versions of Runtime.Lib, TCLRuntime.Lib, MARuntime.Lib, and 
  87.    ╡Runtime.Lid let you reset a program that you are profiling.
  88.     
  89. Ñ Project Utilities works correctly when you choose Back Up.
  90.  
  91. Ñ SANE.p has all correct function interfaces.
  92.  
  93. Ñ Multi-segment code resources and drivers that move in memory after
  94.    loading or unloading a segment work correctly.
  95.       
  96. Ñ When running in 32-bit mode, the LightsBug heap display is correct.
  97.          
  98. Ñ When you use Undo, Cut, or Paste to edit source code for a program while 
  99.    it╒s running, THINK Pascal displays an alert and doesn╒t perform the edit if 
  100.    you click No.
  101.    
  102. Ñ Tabs always look the same on the screen and printed copy.
  103.    
  104. Ñ The Command-key equivalent for Entire Document in the Save As...
  105.    dialog is now Command-E and doesn╒t conflict with the command-key 
  106.    equivalent for the Desktop button.
  107.    
  108. Ñ Printing the Text window in draft mode on an ImageWriter works
  109.    correctly.
  110.    
  111. Ñ THINK Pascal generates correct code  for all assignment statements 
  112.    with a short-circuit Boolean expression on the right-hand side.
  113.    
  114. Ñ THINK Pascal is now compatible with the breakpointing scheme used 
  115.    in recent versions of MacsBug.   
  116.    
  117. Ñ On a Macintosh Quadra, you can now call _MaxApplZone while running in 
  118.    the THINK Pascal environment. 
  119.  
  120. Ñ Your project can contain more than 127 segments.
  121.     
  122. Ñ THINK Pascal correctly places a stop sign in your file after it displays
  123.    an alert.
  124.  
  125. Ñ The Use Second Screen option works correctly even if the main screen 
  126.    isn╒t the first device in the device list.
  127.  
  128. Ñ The ╥Custom Header╙ option for code resources works correctly.
  129.  
  130. LAST MINUTE CHANGES
  131. ====================
  132. Ñ  This disk contains the file ╥Installing THINK Pascal,╙ which tells you how
  133.     to set up THINK Pascal on your hard drive. It duplicates Chapter 2, 
  134.     ╥Installing THINK Pascal,╙ in the THINK Pascal User Manual. It╒s included 
  135.     on disk so the people who never read manuals can read it. If the document 
  136.     contradicts anything in the manual, follow the document. The differences 
  137.     may reflect minor changes in the layout of the disks.
  138.     
  139. Editing
  140. -------
  141. Ñ The Clean Up Windows command described on page 78 is not in THINK
  142.    Pascal 4.0.
  143.  
  144. Using Predefined Routines
  145. ------------------------
  146. Ñ  The declaration for the routine DeviceLoop that╒s built into THINK Pascal 
  147.     is incorrect.  To use the routine, be sure to include this declaration in any
  148.     file that calls it:
  149.     
  150.         PROCEDURE DeviceLoop( drawingRgn: RgnHandle;
  151.             drawingProc: DeviceLoopDrawingProcPtr;
  152.             userData: LongInt; flags: LongInt );
  153.         INLINE $ABCA;
  154.  
  155. Ñ  On page 142, the list of built-in interfaces is incorrect. These files are 
  156.     NOT built into THINK Pascal:
  157.     
  158.     MacPrint.p        MemTypes.p            OSIntf.p
  159.     PackIntf.p        PaletteMgr.p        PickerIntf.p
  160.     QDOffscreen.p    SCSIIntf.p            ToolIntf.p
  161.     VideoIntf.p
  162.     
  163.     QDOffscreen.p is included with THINK Pascal. You can use its functions
  164.     if you include the file in your project and in your uses statment. The 
  165.     others are not included in THINK Pascal because they duplicate other 
  166.     interfaces or because they are no longer used.
  167.  
  168. Ñ  On pages 142 and 143, Sounds.p is in both lists of interfaces: those that 
  169.     are built-in and those that aren╒t. There are in fact two versions of 
  170.     Sounds.p. The interfaces are for the Source Manager routines in Inside
  171.     Macintosh V and VI are NOT built-in. You can use the functions if you 
  172.     include the file in your project and your uses statment The interfaces for
  173.     the Sound Manager routines in Inside Macintosh I to VI are built-in.
  174.                 
  175. LightsBug
  176. ---------
  177. Ñ  LightsBug does not display the correct values of these fields of a 
  178.     WindowRecord: windowPic, visRgn, and clipRgn. To see their correct 
  179.     values, use the Observe window. 
  180.  
  181. THINK Pascal Menus
  182. ------------------
  183. Ñ  On page 239, the first sentence in the Far Code option╒s description
  184.     should read:
  185.     
  186.         If this option is on, THINK Pascal lets you write large
  187.         applications: applications with a jump table as large as 256K. 
  188.  
  189. Using MacApp
  190. -------------
  191. Ñ  You MUST use MacApp 2.0.1 or 2.0.2, and you MUST discard your current 
  192.     THINK MacApp folder and convert your MacApp sources again with the 
  193.     materials supplied with THINK Pascal 4.0. For more information, see
  194.     the Object-Oriented Programming manual, Appendix A, ╥MacApp and
  195.     THINK Pascal.╙
  196.  
  197. Ñ  The ╥MacApp 2.0 for THINK Pascal 4.0╙ folder contains special versions 
  198.     of the UFailure library in the ╥Special Failure Handlers╙ folder. Use these 
  199.     libraries if you╒re running a MacApp project under THINK Pascal, and you 
  200.     need to debug your failure-handling routines. For more information, see 
  201.     the file ╥Using the Special Failure Handlers╙ in the ╥Special Failure 
  202.     Handlers╙ folder.
  203.  
  204. Ñ  The MacApp failure-handling routines do not work in programs running
  205.     under the THINK Pascal environment. THINK Pascal may crash if your
  206.     program invokes the failure chain. You can conditionally compile the
  207.     routine Failure in UFailure.p so that it halts your program and issues
  208.     a message, instead of invoking the failure chain.
  209.  
  210. Using Launching Utilities with THINK Pascal
  211. ----------------------------------------
  212. Don╒t use utilities that launch other applications, like ICOM╒s OnCue or Now
  213. Software╒s MultiMaster, while you are running an application in the THINK
  214. Pascal environment.
  215.  
  216. Using SetupA4 and RestoreA4
  217. ---------------------------
  218. If you write multi-segment drivers, desk accessories, or code resources,
  219. make sure that any routine that needs to call SetupA4 and RestoreA4 is in
  220. the same segment as RSRCRuntime.Lib or DRVRRuntime.Lib. 
  221.  
  222. Using Object Pascal in Multi-Segement Code Resources
  223. --------------------------------------------------
  224. If you're using THINK Pascal 4.0 to write code resources with Object Pascal, 
  225. there are some important details that you should note:
  226.  
  227.      1. In the By Segment view of the Project Window, the <<%_SelProcs>> and
  228.           <<%_MethTables>> entries should be together in a different segment
  229.           than the main program.
  230.  
  231.      2. In the file that contains Main, insert the following code before the
  232.          main procedure:
  233.  
  234.           {$S %_MethTables}
  235.           {$Push}
  236.           {$N-}
  237.           procedure LoadMethTables;
  238.           begin
  239.  
  240.           end;
  241.           {$Pop}
  242.           {$S}
  243.  
  244.      3. The beginning of your Main procedure should look something like this:
  245.  
  246.           procedure Main {any optional arguments};
  247.           begin
  248.                RememberA4;
  249.                SetupA4;
  250.                LoadMethTables;
  251.  
  252.                {     rest of Main's code     }
  253.      
  254.                RestoreA4;
  255.           end;
  256.  
  257. The important thing here is that you must call LoadMethTables (a routine
  258. in the %_MethTables segment), before you use any object-related routines 
  259. (including New). Otherwise, objects won╒t work.